/*
	Funcion que crea un ventana que contiene el formulario para registrar nuevo fidelidadProducto,
	o para editar uno existente
*/

Ext.Loader.setConfig({enabled: true});

Ext.require([
    'Ext.grid.*',
    'Ext.data.*',
    'Ext.util.*',
    'Ext.toolbar.Paging',
    'Ext.ModelManager',
    'Ext.tip.QuickTipManager'
]);

var createWindowForm;

createWindowForm = function(grid, rowIndex, colIndex){
	
	urlListMenu = "../menu/admin_menu.php?accion=list";
	menu.getProxy().url = urlListMenu;
	menu.load();
	

	var fidProdData = new Object();
	var component = this;
	
	var params = Ext.Object.fromQueryString(location.search.substring(1));
	var ticketNum = params.ticketNum;
	
	var flag = (this.id == "new-btn")
	
	/*
	Valores para inicializar los campos dependiendo si se va a crear
	o editar un fidelidadProducto
	*/
	if(flag){
		//Ext.Msg.alert('dfsf', "BUTTON");
		fidProdData.id="";
		fidProdData.id_producto="";
		fidProdData.id_producto_recibir="";
		fidProdData.id_producto_comprar="";
		fidProdData.cantidad="";
		fidProdData.vigente=true;	
			
	}else{
		//Ext.Msg.alert('dfsf', "grid");
		
		var fidProdModel = store.getAt(rowIndex);
		
		fidProdData.id=fidProdModel.get("id");
		fidProdData.id_producto=fidProdModel.get("id_producto");
		fidProdData.id_producto_recibir=fidProdModel.get("id_producto_recibir");
		fidProdData.id_producto_comprar=fidProdModel.get("id_producto_comprar");
		fidProdData.cantidad=fidProdModel.get("cantidad");
		fidProdData.vigente=fidProdModel.get("vigente")=='SI'?true:false;
			
	}
	
	//Se crea la ventana con la forma.
	win = Ext.create('widget.window', {	
		title: 'Layout Window',
		closable: true,
		closeAction: 'hide',
		width: 600,
		minWidth: 350,
		height: 360,
		layout: 'border',
		modal:true,
		bodyStyle: 'padding: 5px;',
		items: [{
			region: 'center',
			xtype: 'form',
			items:[
		{
			xtype: 'fieldset',
			title: 'Details',
			collapsible: false,
			defaults: {
				labelWidth: 89,
				anchor: '100%',
				layout: {
					type: 'hbox',
					defaultMargins: {top: 0, right: 5, bottom: 0, left: 0}
				}
			},
			items: [
				{
					xtype: 'textfield',
					name : 'id',					
					value:fidProdData.id,
					hidden:true
					
				},
				{
                    xtype: 'combobox',
                    fieldLabel: 'Id Producto',
                    name: 'txtId_producto',
                    store: menu,
                    valueField: 'id',
                    displayField: 'full',
					value:fidProdData.id_producto,					
                    emptyText: 'Selecciona un producto...',
					listConfig: {
						getInnerTpl: function() {
							return '<div> {producto} - {sabor} - {tamano}</div>';
						}
					}
                },
				{
                    xtype: 'combobox',
                    fieldLabel: 'Id Producto a recbir',
                    name: 'txtId_producto_recibir',
                    store: menu,
                    valueField: 'id',
                    displayField: 'full',
					value:fidProdData.id_producto_recibir,
                    emptyText: 'Selecciona un producto...',
					listConfig: {
						getInnerTpl: function() {
							return '<div> {producto} - {sabor} - {tamano}</div>';
						}
					}
                },
				{
                    xtype: 'combobox',
                    fieldLabel: 'Id Producto a comprar',
                    name: 'txtId_producto_comprar',
                    store: menu,
                    valueField: 'id',
                    displayField: 'full',
					value:fidProdData.id_producto_comprar,
                    emptyText: 'Selecciona un producto...',
					listConfig: {
						getInnerTpl: function() {
							return '<div> {producto} - {sabor} - {tamano}</div>';
						}
					}
                },
				{
					xtype: 'numberfield',
					name : 'cantidad',
					fieldLabel: 'Cantidad',						
					value:fidProdData.cantidad					
				},
				{						
					xtype: 'checkboxgroup',						
					items: [
						{boxLabel: 'Vigente', name: 'txtVigen',checked:fidProdData.vigente,uncheckedValue:"NO", inputValue:"SI"}					
					]
				}
									
			]
		}
	],
			buttons:[
		
		{
			text   : 'Save',
			handler: function() {
			
				var myForm = this.up('form').getForm();
				var s = '';
				if (myForm.isValid()) {
				
					
					/*Ext.iterate(myForm.getValues(), function(key, value) {
						s += Ext.util.Format.format("{0} = {1}<br />", key, value);
					}, this);

					Ext.Msg.alert('Form Values', s);						
*/
					myForm.submit({
						url: flag?'admin_fidelidad_producto.php?accion=add':'admin_fidelidad_producto.php?accion=save_edit',
						method : 'POST',
						success: function(form, action) {

							//alert("faf");
							//Ext.Msg.alert('Success', action.result.success);

							if(action.result.success == "true") {		
								//var redirect = 'paging.php'; 
								//window.location = redirect;
								
								Ext.Msg.alert('Success', "Se Guardo con Exito");
								
								win.hide(component, function() {
									button.dom.disabled = false;
								});
								store.loadPage(store.currentPage);
								//alert("si");
							}else if(action.result.success == "false") {		
								//var redirect = 'paging.php'; 
								//window.location = redirect;
								//alert("no");
								Ext.Msg.alert('Success', action.result.success);
							}	
						},
						failure: function(form, action) { 
							Ext.Msg.alert('Error', 'La página no existe'); 
						}
					});

				}
				
			}
		},

		{
			text   : 'Cancel',
			handler: function() {
				//win.setVisible(false);
				win.hide(component, function() {
					button.dom.disabled = false;
				});
			}
		}
	]

		}]
	});


	win.show(this, function() {
		button.dom.disabled = false;			
	});

}
